
#ifndef _RibbonAction_H_
#define _RibbonAction_H_

#include "RibbonApi.hpp"

#include <QWidget>
#include <QWidgetAction>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QGridLayout>
#include <QToolBar>
#include <QIcon>
#include <QLabel>
 

namespace NSRibbon {

	enum ActionType {
		Large,
		Medium,
		Small,
	};

	class RIBBONAPI RibbonAction : public QWidgetAction {
	public:
		RibbonAction(
			QIcon icon = QIcon(), 
			QString text = QString(), 
			ActionType type = ActionType::Small,
			QSize icon_size = QSize(20, 20),  
			QWidget* p = nullptr
		);
		~RibbonAction();

	public:
 
	private:
		QWidget* m_p{};
	protected:
		QWidget* m_widget{};
		QLabel* m_icon{};
		QLabel* m_text{};

	};

}

#endif